package com.aauedu.springboot.bean;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 1.@Component将Furn注册为一个组件
 * 2.@ConfigurationProperties(prefix="furn01)指定在application.properties前缀这样Furn组件就会与属性文件中的值绑定了
 */
@Component
@ConfigurationProperties(prefix = "furn01")
//@ToString // 在编译时,会生成toString,默认情况下，会生成无参构造器
/***
 * 说明：
 * 1.Equivalent to {@code @Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode}
 * 2.@Data注解等价于使用了如下注解@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode
 * @RequiredArgsConstructor
 */
//@Data
//@Getter
//@Setter
//老师说明：@NoArgsConstructor在编译时，会生成无参构造器，默认情况下，会生成一个无参构造器
//老师说明：当我们有其他构造器生成时，如果你希望仍然有无参构造器就需要使用@NoArgsConstructor指定一下
//,否则就会覆盖无参构造器，从而出现报错
@NoArgsConstructor
//老师说明：@AllArgsConstructor在编译时，会生成全参构造器
@AllArgsConstructor
@Data
public class Furn {

    private Integer id;
    private String name;
    private Double price;

}
